A Concurrent Calculus with Atomic Transactions
نویسندگان
چکیده
The Software Transactional Memory (STM) model is an original approach for controlling concurrent accesses to ressources without the need for explicit lock-based synchronization mechanisms. A key feature of STM is to provide a way to group sequences of read and write actions inside atomic blocks, similar to database transactions, whose whole effect should occur atomically. In this paper, we investigate STM from a process algebra perspective and define an extension of asynchronous CCS with atomic blocks of actions. Our goal is not only to set a formal ground for reasoning on STM implementations but also to understand how this model fits with other concurrency control mechanisms. We also view this calculus as a test bed for extending process calculi with atomic transactions. This is an interesting direction for investigation since, for the most part, actual works that mix transactions with process calculi consider compensating transactions, a model that lacks all the well-known ACID properties. We show that the addition of atomic transactions results in a very expressive calculus, enough to easily encode other concurrent primitives such as guarded choice and multisetsynchronization (à la join-calculus). The correctness of our encodings is proved using a suitable notion of bisimulation equivalence. The equivalence is then applied to prove interesting “laws of transactions” and to obtain a simple normal form for transactions.
منابع مشابه
Formal Engineering Research using Methods , Abstractions and Transformations Technical Report
Concurrent execution of multiple operations in a single clock cycle of a hardware design may increase its peak power which can lead to cooling, packaging and reliability issues. In this paper, we consider a model of computation based on high-level atomic transactions which has been shown to synthesize hardware designs comparable to hand-written Verilog in terms of area and latency. In hardware ...
متن کاملAxiomatization without Prefix Combinator
The chi calculus proposed several years ago enjoys some properties unknown from the experience with pi calculus, one of which is the ability to model concurrent computation without the use of prefix combinator. The atomic chi calculus studied in this paper is obtained from polyadic chi calculus by leaving out the prefix operator. This omission is impossible in the pi framework because it would ...
متن کاملReducing Sub-transaction Aborts and Blocking Time Within Atomic Commit Protocols
Composed Web service transactions executed in distributed networks often require an atomic execution. Guaranteeing atomicity in mobile networks involves a lot more challenges than in fixed-wired networks. These challenges mostly concern network failures, e.g. network partitioning and node disconnection, each of which involves the risk of infinite blocking and can lead to a high number of aborts...
متن کاملBeyond Simple Transactions and Atomic Blocks
Concurrent programming is notoriously difficult because actions by concurrent threads may be interleaved and result in unanticipated interactions, particularly on a shared-memory system. One mechanism proposed to address this difficulty is transactional memory (TM): programmers can group several operations into a transaction, which a TM implementation guarantees will appear to execute atomicall...
متن کاملA functional database
A Functional Database Phil Trinder D.Phil. Thesis Wolfson College Michaelmas Term, 1989 This thesis explores the use of functional languages to implement, manipulate and query databases. Implementing databases. A functional language is used to construct a database manager that allows e cient and concurrent access to shared data. In contrast to the locking mechanism found in conventional databas...
متن کامل